package com.sunmnet.j2ee.entity.powerdb.designer;

import com.sunmnet.j2ee.entity.base.BaseAutoEntity;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Column;
import javax.persistence.Table;
import java.io.Serializable;


@javax.persistence.Entity
@Table(name = "pdm_entity_relate")
@DynamicInsert(true)
@DynamicUpdate(true)
public class EntityRelate extends BaseAutoEntity implements Serializable {

	private static final long serialVersionUID = 8134600936697185939L;


	private String name;

	private String nameCn;

	private Long startObjectId;

	private Long endObjectId;

	private Long startFieldId;

	private Long endFieldId;

	private Long createAccountId;

	private Long modifyAccountId;

	private Long moduleId;

	private String points;

	private Long versionId;

	private String multiplicityJson;

	private String remark;

	/**
	 * get multiplicityJson
	 *
	 * @return java.lang.String
	 */
	public String getMultiplicityJson() {
		return multiplicityJson;
	}

	/**
	 * set multiplicityJson
	 */
	@Column(name = "multiplicity_json")
	public void setMultiplicityJson(String multiplicityJson) {
		this.multiplicityJson = multiplicityJson;
	}

	@Column(name = "version_id")
	public Long getVersionId() {
		return versionId;
	}

	public void setVersionId(Long versionId) {
		this.versionId = versionId;
	}

	@Column(name = "name")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Column(name = "create_account_id")
	public Long getCreateAccountId() {
		return createAccountId;
	}

	public void setCreateAccountId(Long createAccountId) {
		this.createAccountId = createAccountId;
	}

	@Column(name = "modify_account_id")
	public Long getModifyAccountId() {
		return modifyAccountId;
	}

	public void setModifyAccountId(Long modifyAccountId) {
		this.modifyAccountId = modifyAccountId;
	}

	/**
	 * get moduleId
	 *
	 * @return java.lang.Long
	 */
	@Column(name = "module_id")
	public Long getModuleId() {
		return moduleId;
	}

	/**
	 * set moduleId
	 */
	public void setModuleId(Long moduleId) {
		this.moduleId = moduleId;
	}

	/**
	 * get nameCn
	 *
	 * @return java.lang.String
	 */
	@Column(name = "name_cn")
	public String getNameCn() {
		return nameCn;
	}

	/**
	 * set nameCn
	 */
	public void setNameCn(String nameCn) {
		this.nameCn = nameCn;
	}

	/**
	 * get points
	 *
	 * @return java.lang.String
	 */
	@Column(name = "points")
	public String getPoints() {
		return points;
	}

	/**
	 * set points
	 */
	public void setPoints(String points) {
		this.points = points;
	}


	/**
	 * get startObjectId
	 *
	 * @return java.lang.Long
	 */
	@Column(name = "start_object_id")
	public Long getStartObjectId() {
		return startObjectId;
	}

	/**
	 * set startObjectId
	 */
	public void setStartObjectId(Long startObjectId) {
		this.startObjectId = startObjectId;
	}

	/**
	 * get endObjectId
	 *
	 * @return java.lang.Long
	 */
	@Column(name = "end_object_id")
	public Long getEndObjectId() {
		return endObjectId;
	}

	/**
	 * set endObjectId
	 */
	public void setEndObjectId(Long endObjectId) {
		this.endObjectId = endObjectId;
	}

	/**
	 * get startFieldId
	 *
	 * @return java.lang.Long
	 */
	@Column(name = "start_field_id")
	public Long getStartFieldId() {
		return startFieldId;
	}

	/**
	 * set startFieldId
	 */
	public void setStartFieldId(Long startFieldId) {
		this.startFieldId = startFieldId;
	}

	/**
	 * get endFieldId
	 *
	 * @return java.lang.Long
	 */
	@Column(name = "end_field_id")
	public Long getEndFieldId() {
		return endFieldId;
	}

	/**
	 * set endFieldId
	 */
	public void setEndFieldId(Long endFieldId) {
		this.endFieldId = endFieldId;
	}

	@Override
	public String toString() {
		return new ReflectionToStringBuilder(
				this,
				ToStringStyle.DEFAULT_STYLE)
				.toString();
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
}